AIM348-AWSの生成AIによる非構造化ドキュメントの自動処理手法

AIM348-AWSの生成AIによる非構造化ドキュメントの自動処理手法

AWS re:Invent 2024のチョークトークセッションから、AWS Solution Libraryを活用した文書処理の自動化アプローチを紹介。生成AIと従来型サービスの組み合わせ方や、参加者との質疑応答から得られた実装のヒントまでお届けします。
Clock Icon2024.12.06

re:Invent 2024において、生成AIをフル活用した非構造化ドキュメントの自動処理に関するチョークトークに参加してきたので、その様子をお届けします。

AWS Solution Libraryの紹介から、様々なシーンでのユースケースとその具体例。またチョークトークならではの、聴衆とのQAなど、セッションとしての内容とチョークトークのインタラクティブな要素が合致した、非常に面白い内容だったので、生成AIによる文書処理に興味があるかたは、是非内容をご覧ください。

ほな、いってみよ!!

セッション概要

セッションタイトル:AIM348-R1 | Streamline document workflow with complementary gen AI solutions

This session demonstrates how Enhanced Document Understanding on AWS and Generative AI Application Builder on AWS can individually or jointly solve document processing and automation use cases. Learn how these solutions can extract and structure data from unstructured documents, generate custom content, and automate document-centric workflows. The session highlights real-world examples and provides guidance on choosing the appropriate solution(s) based on specific business requirements and use case complexities. Leave with a clear understanding of how these AWS offerings can streamline document-driven processes and unlock new opportunities for intelligent automation.

DeepLによる翻訳

このセッションでは、AWSの拡張ドキュメント理解とAWSのジェネレーティブAIアプリケーションビルダーが、それぞれまたは共同で、ドキュメント処理と自動化のユースケースを解決する方法を紹介します。これらのソリューションが、非構造化文書からデータを抽出および構造化し、カスタムコンテンツを生成し、文書中心のワークフローを自動化する方法を学びます。このセッションでは、実際の事例を紹介します。また、特定のビジネス要件やユースケースの複雑性に基づいて、適切なソリューションを選択するためのガイダンスを提供します。これらのAWSサービスが、文書中心のプロセスを合理化し、インテリジェントな自動化の新たな可能性を開く方法を明確に理解していただきます。

Agendaはこんな感じです。最後のWhiteboardでは、チョークトークらしく、聴衆とのQAが長時間繰り広げられていました。

PXL_20241205_223104117~2.jpg

1. AWS Solution Libraryの紹介

PXL_20241205_223210001.jpg

https://aws.amazon.com/solutions/

AWS Solution Libraryは、AWS Solutions Libraryで公開されている公開Webサイトです。このライブラリは、AWSの内部チームやワールドワイドのチーム、そしてパートナーが開発したソリューションを集約したリポジトリとして機能しています。ソリューションは産業/技術領域での分類に加えて、SMBやスタートアップ、デジタルネイティブビジネスなどのビジネスタイプによっても整理されており、各組織が必要とするソリューションに容易にアクセスできるよう設計されています。

PXL_20241205_223210001.jpg

現在30万以上のアクティブな顧客が利用しており、日々新しいソリューションが追加・更新されています。これらのソリューションは、AWSのエンジニアによって直接維持管理されており、最新のアップデートや機能が継続的に反映されます。特に重要な点として、エンジニアチームがソリューションのロードマップを管理し、新しいサービスや機能のアナウンスに合わせて積極的に更新を行っています。

PXL_20241205_223340020.jpg

マーケットプレイスから取り込まれるパートナーソリューションについても、高い技術的品質基準を満たす必要があります。パートナーは技術的な要件を満たすだけでなく、積極的にAWSでのデプロイメントに関与し、特定のユースケースに対するソリューションを提供する必要があります。

AWSには300以上のサービスが存在し、それらの組み合わせは複雑になり得ますが、Solution Libraryの主な目的は、これらの複雑性を抽象化し、顧客の価値創出時間を短縮することです。ライブラリ内のソリューションは、AWSの「お客様から逆算して革新する」という理念に基づいて設計されており、特定のユースケースに対する実践的なソリューションを提供します。

さらに、GitHubリポジトリでの問題報告やセキュリティの懸念事項、機能強化要望なども、AWSエンジニアチームが積極的にモニタリングし対応しています。これにより、ソリューションの品質と信頼性が継続的に維持・向上されています。また、アカウントチームを通じてデプロイメントのサポートや理解促進のための支援も提供されています。

2. インテリジェントドキュメント処理の概要

PXL_20241205_223936956.jpg

インテリジェントドキュメント処理は、デジタルトランスフォーメーションの重要な要素として、様々な産業で急速に採用が進んでいます。主な利用産業として、物流・サプライチェーン(請求書の自動処理、出荷伝票の処理など)、ヘルスケア・ライフサイエンス(個人識別情報を含む文書管理、医療記録の処理)、フィンテック(金融文書の処理)、人事部門(履歴書や評価文書の処理)などが挙げられます。

具体的な事例として、発表者は酪農企業での経験を共有しており、家畜の移動、給餌、処理、出荷など、各段階での伝票処理を自動化することで、効率的な在庫管理と会計処理を実現した例を挙げています。この事例では、まず紙の文書からデジタルフォームへ移行し、その後OCRによる自動データ抽出を実装し、最終的には人手を介さない完全自動化を実現しています。

処理の基本ステップは以下の5段階で構成されています。

  1. ドキュメントの抽出と分類

    • ドキュメントタイプの識別(請求書か身分証明書かなど)
    • Amazon Comprehendを使用した分類モデルの構築
    • 文書の構造解析と前処理
  2. データの抽出

    • OCRによるテキスト抽出
    • 手書き認識
    • 信頼性スコアに基づく検証
    • 構造化データへの変換
  3. データ処理

    • 抽出データの構造化
    • ビジネスロジックの適用
    • データの検証と正規化
    • エラー処理とフォールバックメカニズム
  4. 継続的な学習による精度向上

    • モデルの継続的トレーニング
    • 認識精度の向上
    • フィードバックループの確立
    • エッジケースへの対応
  5. アウトプット活用

    • レポーティング/分析の実施
    • ワークフローのトリガー
    • イベントベースの自動化
    • ビジネスインサイトの生成

近年のGenerative AIの発展により、データ抽出の精度は飛躍的に向上していますが、従来のサービス(Textract、Comprehendなど)も依然として重要な役割を果たしています。特に、コスト効率の観点から、80%程度の標準的なケースには従来サービスを使用し、信頼性スコアが基準値を下回るような特殊なケースにのみGenerative AIを適用するハイブリッドアプローチが推奨されています。

このアプローチにより、処理コストを抑えながら、高い精度でのドキュメント処理が可能になります。また、プロンプトキャッシングやコンテキストキャッシングなどの新機能により、Generative AIの処理効率も向上しています。

3. AWSソリューションのアプローチ

PXL_20241205_224455427.jpg
PXL_20241205_224744007.jpg

AWSは、ドキュメント処理に関して2つの主要なソリューションを提供しています。これらのソリューションは、AWS Solution Libraryの「プリミティブ」の考え方に基づいており、基本的なサービスを組み合わせて高度な機能を実現します:

PXL_20241205_225026303.jpg

具体的なコードは、こちらにあります。

https://aws.amazon.com/solutions/ai/intelligent-document-processing/

  1. Enhanced Document Understanding

    • Amazon Textract、Comprehend、Step Functions、Lambdaなどの主要サービスを統合
    • サーバーレスアーキテクチャを採用し、需要に応じて自動スケール
    • 完全にカスタマイズ可能なワークフロー設計
    • 文書からのテキスト抽出、エンティティ検出、機密情報の自動編集などの機能を提供
    • RESTful APIインターフェースも提供され、独自アプリケーションへの組み込みが可能
    • ワークフローごとに異なる処理パイプラインの定義が可能
    • エラー処理やリトライロジックが組み込み済み
    • イベントドリブンアーキテクチャによる柔軟な拡張性
  2. Generative AI Application Builder (GAB)

    • コードをほとんど書かずにAIアプリケーションを開発可能
    • Bedrock、SageMaker、Lambdaなどの主要サービスを活用
    • チャットボットやその他のジェネレーティブAIアプリケーションの構築が可能
    • フルスケールの本番環境用に設計
    • ベースとなるインフラストラクチャをデプロイした後、特定のユースケースに応じたアプリケーションを構築可能
    • LangChainオーケストレーターを活用したモデル選択の柔軟性
    • プロンプトエンジニアリングの簡素化
    • マルチモーダルな入力のサポート

これらのソリューションは単独でも使用可能ですが、組み合わせることでより高度な機能を実現できます。

  • Enhanced Document UnderstandingでOCR処理とエンティティ抽出し、その結果をKendraのインデックスに格納
  • Kendraのインデックスをベクトルストアとして活用し、GABでチャットボットを構築
  • ドキュメント処理の信頼性スコアに基づいて、従来の処理パイプラインとGenerative AIを使い分け
  • Step Functionsを使用したワークフロー制御とエラー処理の統合
  • イベントドリブンなアーキテクチャによる柔軟な処理の実現

さらに、これらのソリューションは継続的に進化しており、AWSの新機能や改善が随時取り込まれています:

  • プロンプトキャッシング機能の統合
  • インテリジェントプロンプトルーティング
  • Bedrock Data Automationの活用
  • 新しいモデルやプロバイダーのサポート
  • パフォーマンスとコスト効率の最適化

また、これらのソリューションはオープンソースで提供されており、必要に応じてカスタマイズや機能拡張が可能です。AWSのエンジニアチームが積極的にメンテナンスを行い、セキュリティアップデートや機能強化を継続的に提供しています。

4. WhiteBoard (Q&A)

最後のセクションでは、参加者とのQAが長い時間繰り広げられていました。何個か代表的なやり取りをピックアップしています。

Q1: "UIでの処理可能なドキュメントの量についてお聞きしたいのですが。"

A1: "具体的なUI上の制限値は把握していませんが、ソリューション自体の能力としては数百万単位のドキュメントを処理できます。実装ガイドには、コスト面も含めた小規模、中規模、大規模での利用についての情報が記載されています。各ワークフローは、単一または複数のドキュメントを処理するように設定可能です。基本的にはS3をトリガーとして使用しており、昨日の発表でもあったように、S3は11個9の可用性で4,000億以上のオブジェクトを保持可能です。また、APIインターフェースも提供しているので、UIを使わずにプログラマティックに処理可能です。"

Q2: "重複排除のメカニズムはありますか?例えば、同じコンサートのチケットの写真を複数の人が別々にアップロードしたような場合の処理はどうなりますか?"

A2: "現時点で特定の重複排除ソリューションは提供していませんが、2つのアプローチが考えられます:

  1. OpenSearchなどのインデックスを使用して近似マッチングを実装する
  2. メタデータを使用した重複チェック

これは非常に良い指摘で、ロードマップへの追加を検討したいと思います。ドキュメント理解機能を拡張して、重複検出をサポートする方向性を検討していきます。オープンソースなので、必要に応じて独自の重複検出ロジックを実装可能です。"

Q3: "3つのユースケースについて確認させてください:

  1. ユーザーがドキュメントをアップロードして処理する
  2. アップロードされたドキュメントの要約を作成する
  3. キーワードでドキュメントを検索できるようにする"

A3: "これらは完全にGenerative AIとKendraの活用ケースですね。ドキュメントをベクトル化することで要約生成が可能になり、さらにインデックス化により検索も実現できます。特に新しいBedrock Data Automationの機能を活用することで、これらの処理をより効率的に行えるようになっています。"

Q4: "TextractとComprehendの扱いについて質問があります。また、200MB程度の大きなファイル、例えばレポートやX線画像などの処理についてアドバイスはありますか?"

A4: "Textractには10MB制限があるため、ドキュメントを最初のステップで分割して処理します。処理のフローとしては:

  1. 大きなドキュメントを適切なサイズに分割
  2. 分割されたドキュメントごとにテキスト抽出とエンティティ認識
  3. SNS通知システムを使用して処理の完了を通知
  4. 非同期処理によるスケーラブルな処理の実現
  5. Step Functionsによるエラー処理とデッドレターキューの管理

UIでは、SQSとSNS通知を利用して処理状態に応じて機能の有効/無効を切り替えることができます。"

Q5: "特定のワークフローで、異なる種類のドキュメントを処理する方法はありますか?例えば、PDFの中に請求書情報とIDカード情報が混在している場合などです。"

A5: "ワークフローをカスタマイズすることで対応可能です。処理のステップとしては:

  1. ドキュメントの分類ステップで、コンテンツタイプを識別
  2. 識別されたタイプに応じて、適切な処理パイプラインにルーティング
  3. 必要に応じて異なるエンティティ抽出ルールを適用
  4. 結果を統合して処理

オープンソースソリューションなので、必要に応じてカスタムロジックを追加可能です。"

まとめ:ドキュメントソリューションのワークフローの一つの代表例を見ることができた

そもそも、自分、AWS Solutions Libraryというものがあることを知りませんでした。改めて内容を見ていたんですが、AWSの300以上あるサービスを、どのように組み合わせて課題解決につながるソリューションにしていくのか、という視点でユースケースや業界別にソリューションが分類されていて、非常に参考になる内容が詰め込まれています。

https://aws.amazon.com/solutions/

今回のドキュメントソリューションも、AWSの各サービスの組み合わせによって解決できる課題、問題点、実装上の注意点などが参加者とのQAのなかでやり取りされていて、Webサイトだけで見ているよりもさらに深い知見を知ることができたのが収穫でした。

このドキュメントワークフローもそうですが、AWSソリューションライブラリー、非常に勉強になる内容だと思うので、業界カットで顧客に提案する機会があるエンジニアも事業会社の方も、ぜひ一度見てみることをおすすめします。

それでは、今日はこのへんで。濱田孝治(ハマコー)(@hamako9999)でした。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.